<?php namespace Admin\Controller; 

use Hdphp\Controller\Controller;

//分类控制器
class shopCateController extends CommonController{
	private $model;
	public function __init(){
	    parent::__init();
		//实例化shop_cate表
		$this->model = new \Common\Model\shopCate;
	}
	//添加分类
	public function add(){
		//2.用户提交
		if(IS_POST){
		   	if(!$this->model->store()) View::error($this->model->getError());
			View::success('添加成功',U('index'));
		}
		//1.获得类型
		$typeModel = new \Common\model\shopType;
		$typeData = $typeModel->get();
		//分配数据
		View::with('typeData',$typeData);
		//载入模板
	    View::make();
	}
	
	//分类列表
	public function index(){
		//获取所有分类
		$data = $this->model->orderBy('sort','DESC')->get();
		//把数据变成树状形式
		$data = Data::tree($data,'cname');
		//分配数据
		View::with('data',$data);
	    //载入模板
	    View::make();
	}
	
	//添加子分类
	public function addSon(){
		//3.用户提交
		if(IS_POST){
		   	if(!$this->model->store()) View::error($this->model->getError());
			View::success('添加成功',U('index'));
		}
		//1.获得所属分类
		$cid = Q('get.cid',0,'intval');
		$parent = $this->model->field('cid,cname')->where("cid={$cid}")->find();
		//分配数据
		View::with('parent',$parent);
		//2.获得类型
		$typeModel = new \Common\Model\shopType;
		$typeData = $typeModel->get();
		//分配数据
		View::with('typeData',$typeData);
	    //载入模板
	    View::make();
	}
	
	//分类编辑
	public function edit(){
		//4.用户提交
		if(IS_POST){
		    if(!$this->model->edit()) View::error($this->model->getError());
			View::success('编辑成功',U('index'));
		}
		//1.获得旧数据
		$cid = Q('get.cid',0,'intval');
		$oldData = $this->model->where("cid={$cid}")->find();
		View::with('oldData',$oldData);
		//2.获得类型
		$typeModel = new \Common\Model\shopType;
		$typeData = $typeModel->get();
		View::with('typeData',$typeData);
		//3.获得所属分类,不能是自己和自己的子集
		$cateData = $this->model->getNoMy($cid);
		View::with('cateData',$cateData);
	    //载入模板
	    View::make();
	}
	
	//分类删除
	public function del(){
		//接收要删除的cid
		$cid = Q('get.cid',0,'intval');
		//1.获得要删除分类的的pid
		//pluck获得指定的字段值
		$pid = $this->model->where("cid={$cid}")->pluck('pid');
		//2.让子集上移一位，就是把子集分类的pid变成要删除分类的pid
		$this->model->where("pid={$cid}")->save(array('pid'=>$pid));
		//3.删除对应的分类
	    $this->model->where("cid=$cid")->delete();
		View::success('删除成功');
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}
	